package com.hspedu.springboot.furn.utils;

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

/**
 * @Author 梁科
 * @Version 1.0
 * @ Date 2025/10/14 1:03
 */
@Data
@NoArgsConstructor
@AllArgsConstructor
// 该类用于后端封装信息和数据返回给前端使用
public class Result<T> {    // 使用泛型能够使得返回的数据更加灵活
    private String code;        // 状态码
    private String mes;         // 信息描述
    private T data;             // 返回的数据

    public static Result success() {    // 请求成功（不带数据）
        Result<Object> result = new Result<>();
        result.setCode("200");
        result.setMes("success");
        return result;
    }
    public static <T> Result<T>  success(T data){   // 请求成功（带数据）
        Result<T> tResult = new Result<>();
        tResult.setCode("200");
        tResult.setMes("success");
        tResult.setData(data);
        return tResult;
    }
    public static <T> Result<T> fail(String code,String mes,T data){  // 请求失败
        Result<T> result = new Result<>();
        result.setCode(code);
        result.setMes(mes);
        result.setData(data);
        return result;
    }
}
